package com.yb.module.db.domain;

import java.io.Serializable;

import com.yb.framework.core.base.BaseEntity;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 字段信息
 */
@Data
@EqualsAndHashCode(callSuper=false)
public class DbColumn extends BaseEntity implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	/** 库名 **/
	private String dbName;
	/** 表名 **/
	private String tableName;
	/** 字段名 **/
	private String columnName;
	/** 修改后字段名 **/
	private String columnNameNew;
	/** 字段备注 **/
	private String columnComment;
	/** 字段类型 **/
	private String columnType;
	/** 数据类型（int->Integer、bigInt->Long） **/
	private String dataType;
	/** 索引类型（可包含的值有PRI，代表主键，UNI，代表唯一键，MUL，可重复） **/
	private String columnKey;
	/** 是否为空（YES、NO） **/
	private String isNull;
	/** 其他信息（比如主键的auto_increment） **/
	private String extra;
	/** 属性名称(第一个字母小写)，如：user_name => userName **/
	private String attrName;
	/** 属性名称(第一个字母大写)，如：user_name => UserName **/
	private String attributeName;
	/** 属性类型（字段的数据类型转换成Java类型，若没有则默认String） **/
	private String attributeType;
	
	public DbColumn() {
		super();
	}
	public DbColumn(String dbName, String tableName) {
		super();
		this.dbName = dbName;
		this.tableName = tableName;
	}
	public DbColumn(String dbName, String tableName, String columnName) {
		super();
		this.dbName = dbName;
		this.tableName = tableName;
		this.columnName = columnName;
	}
}